home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / SourceCode / AdobeExamples / NX_ImportAdv / ImportApp.h < prev    next >
Text File  |  1992-12-19  |  4KB  |  164 lines

  1.  
  2. /*
  3.  * (a)  (C) 1990 by Adobe Systems Incorporated. All rights reserved.
  4.  *
  5.  * (b)  If this Sample Code is distributed as part of the Display PostScript
  6.  *    System Software Development Kit from Adobe Systems Incorporated,
  7.  *    then this copy is designated as Development Software and its use is
  8.  *    subject to the terms of the License Agreement attached to such Kit.
  9.  *
  10.  * (c)  If this Sample Code is distributed independently, then the following
  11.  *    terms apply:
  12.  *
  13.  * (d)  This file may be freely copied and redistributed as long as:
  14.  *    1) Parts (a), (d), (e) and (f) continue to be included in the file,
  15.  *    2) If the file has been modified in any way, a notice of such
  16.  *      modification is conspicuously indicated.
  17.  *
  18.  * (e)  PostScript, Display PostScript, and Adobe are registered trademarks of
  19.  *    Adobe Systems Incorporated.
  20.  * 
  21.  * (f) THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO
  22.  *    CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED
  23.  *    AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED.
  24.  *    ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY
  25.  *    OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO
  26.  *    WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY)
  27.  *    WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY
  28.  *    DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, 
  29.  *    FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT
  30.  *    OF THIRD PARTY RIGHTS.
  31.  */
  32.  
  33. /*
  34.  *    ImportApp.h
  35.  *
  36.  *    This class performs some of the global functions necessary to
  37.  *    manage the application.
  38.  *
  39.  *    Version:    2.0
  40.  *    Author:    Ken Fromm
  41.  *    History:
  42.  *            03-17-91        Added this comment.
  43.  */
  44.  
  45. #import <appkit/Application.h>
  46. #import <appkit/View.h>
  47.  
  48. #define  PTS_BUFFER        1400
  49. #define  OPS_BUFFER        1400
  50.  
  51. #define  PTS_HITPOINT    12
  52. #define  OPS_HITPOINT    6
  53.  
  54. /* The defines for placing successive windows on the screen. */
  55. #define  WINDOWSTARTX    300
  56. #define  WINDOWSTARTY    770    
  57. #define  NUMPERCOL        5
  58. #define  NUMCOLUMNS    2
  59. #define  OFFSETX            22
  60. #define  OFFSETY            22
  61. #define  OFFSETLEFT        -44
  62.  
  63. /* Operations - The first three correspond to the tags in the tool panel.  */
  64. #define  OP_SELECT        0
  65. #define  OP_ZOOMUP        1
  66. #define  OP_ROTATE1        2
  67.  
  68. #define  OP_ZOOMDOWN    3
  69. #define  OP_ROTATE2        4
  70. #define  OP_IMPORT        5
  71. #define  OP_PLACE        6
  72. #define  OP_FIRST        OP_SELECT
  73. #define  OP_LAST            OP_PLACE
  74.  
  75. #define Notify(title, msg) NXRunAlertPanel(title, msg, "OK", NULL, NULL)
  76.  
  77. typedef struct _UPath {
  78.     float     * pts;
  79.     int        num_pts;
  80.     char        *ops;
  81.     int        num_ops;
  82. } UPath;
  83.     
  84. @interface ImportApp : Application
  85. {
  86.     id        cursorIds[OP_LAST+1];        /* the ids for the cursors */
  87.  
  88.     id        resourcePanel,    /* the id of the resourcePanel */
  89.             toolpanelId,        /* the panel of tools */
  90.             toolmatrixId;        /* the matrix of tools */
  91.  
  92.     BOOL    contextFlag,        /* use a separate context for eps files */
  93.             showEpsfFlag,     /* show the epsf buffering windows */
  94.             showBufferFlag,    /* show the alpha buffer or not */
  95.             tracingFlag,        /* determines whether tracing should be turned on */
  96.             imagingFlag;        /* determines whether to image the files */
  97.                             /* or just display a gray box. */
  98.  
  99.     int        operation,        /* the current operation of the document */
  100.             numWindows;        /* the number of windows created */
  101.  
  102.     float        hitSetting;        /* the current setting for hit detection sensitivity */
  103.  
  104.     UPath    hitPoint,            /* a global user path structure for the hit detection pt. */
  105.             upathBuffer;        /* a buffer for holding data for the server */
  106. }
  107.  
  108. + new;
  109. + initialize;
  110.  
  111. - free;
  112.  
  113. - setToolPanel:anObject;
  114. - setToolMatrix:anObject;
  115. - setSaveAccessory:anObject;
  116. - setImportAccessory:anObject;
  117.  
  118. - getPosition:(NXPoint *)location  forSize:(NXSize *)winSize;
  119.  
  120. /* Teaching aids */
  121. - setContextFlag:sender;
  122. - (BOOL) contextFlag;
  123. - setShowEpsfFlag:sender;
  124. - (BOOL) showEpsfFlag;
  125. - setShowBufferFlag:sender;
  126. - (BOOL) showBufferFlag;
  127. - setTracingFlag:sender;
  128. - (BOOL) tracingFlag;
  129. - setImagingFlag:sender;
  130. - (BOOL) imagingFlag;
  131. - setHitSetting:sender;
  132. - (float) hitSetting;
  133.  
  134. - (UPath *) hitPoint;
  135. - (UPath *) upathBuffer;
  136.  
  137. - currentDocument;
  138. - (const char *)currentDirectory;
  139.  
  140. - new:sender;
  141. - open:sender;
  142. - terminate:sender;
  143.  
  144. - setTool:sender;
  145.  
  146. - resourcePanel;
  147.  
  148. /* Cursor and current operation methods */
  149. - getCursor:(int) index;
  150. - cursor;
  151. - (int) operation;
  152. - setOperation:(int) newOperation;
  153. - clearOperation;
  154.  
  155. - appDidInit:sender;
  156. - (int)appOpenFile:(const char *)path type:(const char *)type;
  157. - (BOOL)appAcceptsAnotherFile:sender;
  158.  
  159. /* Menu updating methods */
  160. - (BOOL)menuItemUpdate:menuCell;
  161.  
  162. @end
  163.  
  164.